package com.xyht.sca_s.student_manage_system.modules.appDynamic.entity;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 应用文本控件配置表
 * </p>
 *
 * @author XYHT
 * @since 2023-08-01
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("app_text_control_config")
@ApiModel(value="AppTextControlConfig对象", description="应用文本控件配置表")
public class AppTextControlConfig implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "文本控件配置id")
    private String id;

    @ApiModelProperty(value = "应用id")
    private String appId;

    @ApiModelProperty(value = "控件顺序id")
    private String controlOrderId;

    @ApiModelProperty(value = "类型")
    private String subType;

    @ApiModelProperty(value = "控件标题")
    private String name;

    @ApiModelProperty(value = "标题文本位置[1.top 2.center 3.right]")
    private String namePosition;

    @ApiModelProperty(value = "默认提示")
    private String prompt;

    @ApiModelProperty(value = "是否设置默认值")
    private Boolean hasDefaultValue;

    @ApiModelProperty(value = "默认值")
    private String defaultValue;

    @ApiModelProperty(value = "是否必填")
    private Boolean required;

    @ApiModelProperty(value = "最大字数限制")
    private String maxWordLimit;

    @ApiModelProperty(value = "是否有前缀")
    private Boolean hasPrefix;

    @ApiModelProperty(value = "前缀")
    private String prefix;

    @ApiModelProperty(value = "是否有后缀")
    private Boolean hasSuffix;

    @ApiModelProperty(value = "后缀")
    private String suffix;

    @ApiModelProperty(value = "是否显示边框")
    private Boolean hasFrame;

    @ApiModelProperty(value = "是否显示计数按钮")
    private Boolean isLimit;

    @ApiModelProperty(value = "行数")
    private Integer rowNum;

    @ApiModelProperty(value = "校验规则")
    private String rule;

    @ApiModelProperty(value = "创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @TableField(fill = FieldFill.INSERT)
    private Date createTime;

    @ApiModelProperty(value = "更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Date updateTime;

    @ApiModelProperty(value = "是否删除：0：未删除 1：已删除")
    @TableLogic
    private Integer isDeleted;


}
